import config from '../config'

/**
* 显示消息提示框
* @param content 提示的标题
*/
export function toast(content) {
  uni.showToast({
    icon: 'none',
    title: content
  })
}

/**
* 显示模态弹窗
* @param content 提示的标题
*/
export function showConfirm(content) {
  return new Promise((resolve, reject) => {
    uni.showModal({
      title: '提示',
      content: content,
      cancelText: '取消',
      confirmText: '确定',
      success: function(res) {
        resolve(res)
      }
    })
  })
}

/**
* 参数处理
* @param params 参数
*/
export function tansParams(params) {
  let result = ''
  for (const propName of Object.keys(params)) {
    const value = params[propName]
    var part = encodeURIComponent(propName) + "="
    if (value !== null && value !== "" && typeof (value) !== "undefined") {
      if (typeof value === 'object') {
        for (const key of Object.keys(value)) {
          if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {
            let params = propName + '[' + key + ']'
            var subPart = encodeURIComponent(params) + "="
            result += subPart + encodeURIComponent(value[key]) + "&"
          }
        }
      } else {
        result += part + encodeURIComponent(value) + "&"
      }
    }
  }
  return result
}

/**
 * 获取完整的静态文件路径
 * @param relativePath 相对路径
 */
export function getStaticFilePath(relativePath) {
  if (!relativePath) {
    return '';
  }
  const staticUrl = config.staticUrl;
  
  // 如果 relativePath 已经是完整的 URL，直接返回
  if (relativePath.startsWith('http://') || relativePath.startsWith('https://')) {
    return relativePath;
  }

  // 对路径中的特殊字符进行编码
  const encodedPath = relativePath.split('/').map(segment => {
    if (/[^a-zA-Z0-9-_.]/.test(segment)) {
      return encodeURIComponent(segment);
    }
    return segment;
  }).join('/');

  return `${staticUrl}${encodedPath.startsWith('/') ? '' : '/'}${encodedPath}`;
}

/**
 * 跳转到后台管理系统
 */
export function jumpToAdmin() {
  // 开发环境下的后台地址
  const adminUrl = 'http://localhost:81';
  
  // 使用web-view组件打开网页
  uni.navigateTo({
    url: `/pages/webview/index?url=${encodeURIComponent(adminUrl)}`
  });
}

/**
 * 检查是否是管理员
 */
export function checkIsAdmin() {
  // 这里可以根据实际业务逻辑判断是否是管理员
  // 例如检查用户角色、权限等
  return true; // 开发环境下默认返回true
}